/**
 * 队列接口
 * 定义队列的基本操作
 */
public interface QueueInterface<T> {
    /**
     * 入队操作
     * 
     * @param item 要入队的元素
     * @return 入队是否成功
     */
    boolean enqueue(T item);

    /**
     * 出队操作
     * 
     * @return 出队的元素，如果队列为空返回null
     */
    T dequeue();

    /**
     * 查看队首元素
     * 
     * @return 队首元素，如果队列为空返回null
     */
    T front();

    /**
     * 判断队列是否为空
     * 
     * @return 队列是否为空
     */
    boolean isEmpty();

    /**
     * 获取队列大小
     * 
     * @return 队列中元素个数
     */
    int size();
}
